<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <title>全纯函数</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="../../css/note.css" />
</head>
<body>

<h2>复导数</h2>

<p>	本节总假定 `D sube CC` 为一域, `f: D to CC` 为一复变函数, `z, z_0 in D`, `Delta z = z - z_0`.
</p>

<h3>复导数的定义</h3>

<p class="definition">
	如果极限
	<span class="formula">
		`lim_(z to z_0) (f(z) - f(z_0))/(z-z_0)`
		`= lim_(Delta z to 0) (f(z_0+Delta z)-f(z_0))/(Delta z)`
	</span>
	存在, 则称 `f` 在 `z_0` 处<b>(复) 可微</b>, 该极限称为 `f` 在 `z_0`
	处的<b>导数</b>或<b>微商</b>, 记为 `f'(z_0)`.
</p>

<ol class="definition">
	<li>若 `f` 在 `D` 中处处可微, 则称 `f` 是 `D`
	上的<b>全纯函数 (holomorphic function)</b>或<b>解析函数</b>.
	`D` 上全纯函数的全体记为 `H(D)`.</li>
	<li>如果 `f` 在 `D` 上能表示成两个全纯函数的商, 则称 `f` 为 `D`
		上的<b>亚纯函数 (meromorphic function)</b>或<b>半纯函数</b>,
    详见下一章.</li>
	<li>如果 `f` 在 `z_0` 的某个邻域中全纯, 则称 `f` 在 `z_0` 处全纯.</li>
	<li>如果 `f` 在 `CC` 上全纯, 则称 `f` 为<b>整函数 (entire function)</b>.</li>
</ol>

<p class="remark">
  全纯函数又叫解析函数, 是因为它能在定义域内任一点附近展开成 Taylor 级数,
  详见下一章.
</p>

<p class="corollary">
	若 `f` 在 `z_0` 处可微, 由定义有
	<span class="formula">
		`f(z_0+Delta z)-f(z_0) = f'(z_0) Delta z + o(|Delta z|)`.
		<span class="label" id="for-differentiable"></span>
	</span>
	上式也可以作为可微的定义.
</p>

<p class="remark">
	由于复导数的定义形式上和实函数的导数定义一致,
	许多数学分析中的经典结论在复变函数中也同样成立, 如导数的四则运算,
	复合函数的求导法则等. 例如在 <a class="ref" href="#for-differentiable"></a> 两边令 `Delta z to 0` 就得到:
	<span class="formula">
		<b>可微必连续</b>:
		若 `f` 在 `z_0` 处可微, 则它在 `z_0` 处连续.
	</span>
	其余类似结论不再赘述.
</p>

<p class="example">
	`f(z) = bar z` 在 `CC` 中处处连续但处处不可微.
</p>

<p class="proof">
	`AA z in CC`,
	<span class="formula">
		`|f(z+Delta z) - f(z)|`
		`= |bar(z+Delta z) - bar z|`
		`= |bar(Delta z)|`
		`= O(|Delta z|)`.
	</span>
	因此 `f` 在 `CC` 中处处连续; 另一方面
	<span class="formula">
		`(f(z+Delta z)-f(z))/(Delta z)`
		`= (bar(Delta z))/(Delta z)`.
	</span>
	当 `Delta z` 取实数时, 上式等于 `1`; 当 `Delta z` 取纯虚数时, 上式等于
	`-1`. 从而 `Delta z to 0` 时, 上式的极限不存在, 即 `f` 在 `CC`
	中处处不可微.
</p>

<p class="remark">
  在实函数中找到一个<a href="../analysis/11.html#exp-weierstrass-function">处处连续而处处不可微的例子</a>并不容易,
	但在复变函数中这样的例子很多.
	事实上, 复可微比数学分析中可导的要求强得多, 下文会看到,
	由此得到的结论也强得多.
</p>

<ol class="p example">
  <b>复导数的几何意义</b>
  熟知一元实函数导数的几何意义是切线的斜率, 现在讨论复导数 `f'(z_0)`
  的几何意义.
  <li>`|f'(z_0)|` 的几何意义.
    在 `z_0` 的邻域中取一点 `z`, 记 `omega = f(z)`, `omega_0 = f(z_0)`. 则
    <span class="formula">
      `f'(z_0) = lim_(z to z_0) (omega - omega_0)/(z - z_0)`,
    </span>
    上式取模得到 `|f'(z_0)| = lim_(z to z_0) |omega - omega_0|/|z - z_0|`,
    即, 在 `z_0` 附近, 像点之间的距离与原像之间的距离之比只和 `|f'(z_0)|`
    有关, 称为 `f` 在 `z_0` 处的<b>伸缩率</b>.
  </li>
  <li>`"Arg"f'(z_0)` 的几何意义.
    在 `z_0` 的邻域中取一条过 `z_0` 的正则曲线 `gamma(t)`,
    其中 `gamma(0) = z_0`
    (正则曲线 `gamma: [a, b] to CC` 是指连续可微, 且导数处处不为零的函数).
    则
    <span class="formula">
      `gamma'(0) = lim_(t to 0) (gamma(t) - gamma(0))/t`
    </span>
    表示曲线在 `z_0` 处切线的方向.<br>
    现在函数 `f` 将 `gamma` 映为 `f @ gamma`, 由复合函数求导法则,
    `(f @ gamma)'(0) = f'(z_0) gamma'(0)`, 设 `f'(z_0) != 0`,
    两边取辐角得
    <span class="formula">
      `"Arg"(f @ gamma)'(0) = "Arg"f'(z_0) + "Arg"gamma'(0)`.
    </span>
    即, 曲线 `f @ gamma` 与原曲线 `gamma` 在 `z_0` 处的切线夹角等于
    `"Arg"f'(z_0)`. 这个夹角与曲线 `gamma` 的选取无关, 换言之, 任取过 `z_0`
    的两条正则曲线 `gamma_1, gamma_2`, 只要 `f'(z_0) != 0`, 在 `f` 的作用下,
    两条曲线之间的夹角就保持不变:
    <span class="formula">
      `"Arg"gamma_1'(0) - "Arg"gamma_2'(0) = "Arg"(f @ gamma_1)'(0)
      - "Arg"(f @ gamma_2)'(0)`.
    </span>
    即 `f` 在导数不为零的点处是<b>保角</b>的.
    导数处处不为零的全纯函数确定了复平面上的<b>保角变换</b>.
  </li>
</ol>

<div class="img" title="保角变换 `z^2` 将直线映为抛物线, 仍保持两两正交">
  <div class="flex">
    <div>
      <canvas id="img-conformal-trans-1" width="300" height="300"></canvas>
    </div>
    <div>
      <canvas id="img-conformal-trans-2" width="300" height="300"></canvas>
    </div>
  </div>
</div>

<h3>Cauchy-Riemann 方程</h3>

<p class="definition">
	将复变函数视为两个实函数的线性组合, 即 `z = x + "i"y`,
  `z_0 = x_0 + "i"y_0`,
	<span class="formula">
		`f(z) = u(x,y) + "i"v(x,y)`.
	</span>
	如果二元实函数 `u, v` 都在 `(x_0, y_0)` 可微, 则称 `f` 在 `z_0`
	处<b>实可微</b>.
</p>

<p class="theorem">
	`f` 在 `z_0` 处实可微的充要条件是
	<span class="formula">
		`f(z_0+Delta z)-f(z_0)`
		`= (del f)/(del z)(z_0) Delta z
		 + (del f)/(del bar z)(z_0) bar(Delta z) + o(|Delta z|)`,
		 <span class="label" id="for-real-differentiable"></span>
	</span>
	其中 `del/(del z) = 1/2(del/(del x)-"i"del/(del y))`,
  `del/(del bar z) = 1/2(del/(del x)+"i"del/(del y))`,
  两个微分算子互为共轭.
</p>

<p class="proof">
	记 `Delta x = x-x_0`, `Delta y = y-y_0`, 我们有
	<span class="formula">
		`Delta z = Delta x + "i"Delta y`,
		`quad |Delta z| = sqrt(Delta x^2 + Delta y^2)`,<br/>
		`Delta x = (Delta z+bar(Delta z))/2`,
		`quad Delta y = (Delta z-bar(Delta z))/(2"i")`.
	</span>
	由实可微的定义,
	<span class="formula">
		`u(x,y)-u(x_0,y_0)`
		`= (del u)/(del x) (x_0,y_0) Delta x
		 + (del u)/(del y) (x_0,y_0) Delta y + o(|Delta z|)`,<br/>
		`v(x,y)-v(x_0,y_0)`
		`= (del v)/(del x) (x_0,y_0) Delta x
		 + (del v)/(del y) (x_0,y_0) Delta y + o(|Delta z|)`.
	</span>
	第二式乘以 `"i"`, 再与第一式相加得
	<span class="formula">
		`{:,f(z)-f(z_0);
		=, ((del u)/(del x)(x_0,y_0)+"i"(del v)/(del x)(x_0,y_0))Delta x
		+ ((del u)/(del y)(x_0,y_0)+"i"(del v)/(del y)(x_0,y_0))Delta y
		+ o(|Delta z|);
		=, (del f)/(del x)(x_0,y_0)Delta x
		+ (del f)/(del y)(x_0,y_0)Delta y + o(|Delta z|);
		=, 1/2 (del f)/(del x)(x_0,y_0)(Delta z+bar(Delta z))
		- "i"/2 (del f)/(del y)(x_0,y_0)(Delta z-bar(Delta z))
		+ o(|Delta z|);
		=, 1/2(del/(del x)-"i"del/(del y)) f(x_0,y_0) Delta z
		+ 1/2(del/(del x)+"i"del/(del y)) f(x_0,y_0) bar(Delta z)
		+ o(|Delta z|).:}`
	</span>
	即得到最终结论.
</p>

<p class="remark">
	算子 `del/(del z)` 和 `del/(del bar z)` 可以这样记忆: 由
	<span class="formula">
		`f(x,y) = f((z+bar z)/2, -"i"(z-bar z)/2)`
	</span>
	分别对独立变量 `z, bar z` 求偏导数, 有
	<span class="formula">
		`(del f)/(del z) = 1/2((del f)/(del x)-"i"(del f)/(del y))`,
		`quad (del f)/(del bar z) = 1/2((del f)/(del x)+"i"(del f)/(del y))`.
	</span>
	上述命题告诉我们, 在 `f` 实可微的条件下, 可以将 `z, bar z`
	视为独立变量, 进行微分运算.
</p>

<ol class="corollary" id="cor-z-operator">
	记 `f = u + "i"v`, 有
	<li>`(del f)/(del z) = 1/2((del u)/(del x)+(del v)/(del y))
		+ "i"/2((del v)/(del x)-(del u)/(del y))`;
	</li>
	<li>`(del f)/(del bar z) = 1/2((del u)/(del x)-(del v)/(del y))
		+ "i"/2((del v)/(del x)+(del u)/(del y))`;
	</li>
	<li>`(del bar f)/(del z) = bar((del f)/(del bar z))`;
	</li>
	<li>`(del bar f)/(del bar z) = bar((del f)/(del z))`.
	</li>
	其中 3, 4 形式上与商的共轭运算相同.
</ol>

<p class="proof">
	以 2. 为例:
	<span class="formula">
		`(del f)/(del bar z)`
		`= (del u)/(del bar z) + "i"(del v)/(del bar z)`
		`= 1/2 ((del u)/(del x) + "i"(del u)/(del y))
		 + "i"/2 ((del v)/(del x) + "i"(del v)/(del y))`
		`= 1/2 ((del u)/(del x) - (del v)/(del y))
		 + "i"/2 ((del u)/(del y) + (del v)/(del x))`.
	</span>
</p>

<p>通过比较 <a class="ref" href="#for-differentiable"></a> 和
	<a class="ref" href="#for-real-differentiable"></a>, 得到:
</p>

<ol class="theorem" id="the-cauchy-riemann">
	<li><b>复可微的充要条件</b>
		`f = u + "i"v` 在 `z_0` 处可微当且仅当它在 `z_0` 处实可微, 且满足
		<b>Cauchy-Riemann 方程</b>
		`(del f)/(del bar z)(z_0) = 0`;
		由<a class="ref" href="#cor-z-operator"></a>,
		此方程等价于
		<span class="formula">
			`{ (del u)/(del x) = (del v)/(del y);
			   (del u)/(del y) = -(del v)/(del x) :}`
			<span class="label" id="for-cauchy-riemann"></span>
		</span>
	</li>
	<li><b>计算复导数</b>
		如果 `f` 在 `z_0` 处可微, 那么
		<span class="formula">
			`f'(z_0) = (del f)/(del z)(z_0)`
      `= del/(del x) (u + "i" v)(x_0, y_0)`.
		</span>
	</li>
</ol>

<ol class="example">
	<li>`"e"^z` 是整函数, 且 `("e"^z)' = "e"^z`;</li>
	<li>`sin z`, `cos z` 是整函数的线性组合, 因此也是整函数, 且
		<span class="formula">
			`(sin z)' = cos z`, `quad (cos z)' = -sin z`.
		</span>
	</li>
</ol>

<p class="proof">
	只证 1. 任取 `z = x+"i"y in CC`, 则
	<span class="formula">
		`"e"^z = "e"^x(cos y + "i"sin y)`.
	</span>
	它的实部和虚部
	<span class="formula">
		`u(x,y) = "e"^x cos y`, `quad v(x,y) = "e"^x sin y`
	</span>
	都是可微函数, 且满足 Cauchy-Riemann 方程:
	<span class="formula">
		`(del u)/(del x) = "e"^x cos y = (del v)/(del y)`,<br/>
		`(del u)/(del y) = -"e"^x sin y = -(del v)/(del x)`.
	</span>
	所以 `"e"^z` 是 `CC` 上的全纯函数, 且
	<span class="formula">
		`("e"^z)'`
		`= (del u)/(del x) + "i"(del v)/(del x)`
		`= "e"^x(cos y + "i"sin y)`
		`= "e"^z`.
	</span>
</p>

<p class="corollary" id="cor-constant">
	若 `f` 在域 `D` 上满足 `f'(z) -= 0`, 则 `f` 在 `D` 上是常数.
</p>

<p class="proof">
	设 `f = u+"i"v`, 由<a class="ref" href="#the-cauchy-riemann"></a>知
	`u, v` 作为二元实函数, 其偏导数 `u_x, u_y, v_x, v_y` 都等于零.
	由数学分析的结论知道, `u, v` 均为常数, 所以 `f` 也是常数.
</p>

<h3>调和函数</h3>

<p class="definition">
	设实值函数 `u in C^2(D)`, 定义 <b>Laplace 算子</b> `laplace` 如下:
	<span class="formula">
		`laplace u = (del^2 u)/(del x^2) + (del^2 u)/(del y^2)`.
	</span>
  若 <b>Laplace 方程</b> `laplace u = 0` 在 `D` 上恒成立, 则称 `u` 是 `D`
	上的<b>调和函数</b>.
</p>

<p class="remark">
  `u in C^2(D)` 是指 `u` 在 `D` 上二阶连续可微, 即 `u` 在 `D`
  上存在直到二阶的各种偏导数, 且各个偏导数连续. 在偏导数连续时, 混合偏导数
  `u_(x y) = u_(y x)`, 这带来很大的便利.
</p>

<p class="corollary">
	用算子的运算可以验证: `laplace = 4 del^2/(del z del bar z)`.
</p>

<p class="definition">
	若调和函数 `u, v` 满足 Cauchy-Riemann 方程 <a class="ref"
	href="#for-cauchy-riemann"></a>, 则称 `v` 为 `u`
	的<b>共轭调和函数</b>. 注意此时不能说 `u` 为 `v` 的共轭调和函数.
</p>

<p class="corollary">
  若实函数 `u, v in C^2(D)` 满足 Cauchy-Riemann 方程,
  无需验证 Laplace 方程成立, 它们就是一对共轭调和函数.
</p>

<p class="proof">
  <span class="formula">
    `u_(x x) = v_(y x) = v_(x y) = -u_(y y)`,<br>
    `v_(x x) = -u_(y x) = -u_(x y) = -v_(y y)`.
  </span>
</p>

<ol class="theorem">
  <b>全纯函数与共轭调和函数的联系</b>
  <li>全纯函数的实部与虚部构成一对共轭调和函数.</li>
  <li>反之, 设 `u` 是单连通域 `S` 上的调和函数, 则存在 `u` 的共轭调和函数
    `v`, 使得 `u + "i"v` 在 `S` 上全纯.
  </li>
</ol>

<ol class="proof">
  <li>设 `f = u + "i"v in H(D)`,
    由 Cauchy-Riemann 方程,
    <span class="formula">
      `(del f)/(del bar z) = 0`,
      `quad (del bar f)/(del z) = bar ((del f)/(del bar z)) = 0`.
    </span>
    继续求导得
    <span class="formula">
      `(del^2 f)/(del z del bar z) = (del^2 bar f)/(del z del bar z) = 0`.
    </span>
    这就是说 `laplace f = laplace bar f = 0`.
    而 `u = (f+bar f)/2`, `v = (f-bar f)/(2"i")`,
    故 `u, v in C^2(D)`, 且 `laplace u = laplace v = 0`.
  </li>
  <li>令 `P = -(del u)/(del y)`, `Q = (del u)/(del x)`, 由 `u`
    是调和函数知
    <span class="formula">
      `(del Q)/(del x)`
      `= (del^2 u)/(del x^2)`
      `= -(del^2 u)/(del y^2)`
      `= (del P)/(del y)`.
    </span>
    所以 `P dx + Q dy` 是全微分, 在单连通域 `S` 上的积分
    <span class="formula">
      `int_((x_0,y_0))^((x,y)) P dx + Q dy`
    </span>
    与路径无关. 记上述积分为 `v(x,y)`, 容易验证 `u, v` 满足 Cauchy-Riemann
    方程, 又显然 `u, v` 都是可微函数, 所以 `u+"i"v` 是全纯函数.
  </li>
</ol>

<h2>复积分</h2>

<h3>复积分的定义</h3>

<p class="definition">
	设 `gamma(t)`, `t in [a, b]` 是复平面上一条可求长曲线 (??),
	`f` 在 `gamma` 上有定义, 沿 `gamma` 正方向任取分点
	<span class="formula">
		`gamma(a) = z_0, z_1, cdots, z_n = gamma(b)`
	</span>
	再于每一弧段上任取介点
	<span class="formula">
		`zeta_k in arc(z_(k-1) z_k)`, `quad k = 1, cdots, n`.
	</span>
	记 `lambda` 是各弧段长度的最大值, `Delta z = z_k - z_(k-1)`,
	如果 Riemann 和的极限
	<span class="formula">
		`lim_(lambda to 0) sum_(k=1)^n f(zeta_k) Delta z_k`
	</span>
	总是存在, 且与分点和介点的选取方式无关, 就称 `f` 在 `gamma`
	上<b>可积</b>, 此极限称为 `f` 沿曲线 `gamma` 的<b>积分</b>, 记为
	<span class="formula">
		`int_gamma f(z) dz`.
	</span>
	若 `gamma` 是闭曲线, 上述积分也记为 `oint_gamma f(z) dz`.
</p>

<ol class="corollary">
	由定义得到
	<li>`int_(gamma^-) f(z) dz = -int_gamma f(z) dz`, `gamma^-` 表示与
		`gamma` 方向相反的曲线;</li>
	<li>`int_gamma (k f(z) + l g(z)) dz = k int_gamma f(z) dz
		+ l int_gamma g(z) dz`, `k, l in CC`;
	</li>
	<li>`int_gamma f(z) dz = int_(gamma_1) f(z) dz + int_(gamma_2) f(z)
		dz`, `gamma` 是由 `gamma_1`, `gamma_2` 拼接成的曲线.
	</li>
</ol>

<ol class="theorem">
	<b>计算复积分</b>
	<li>若 `f = u + "i"v` 在 `gamma` 上连续, 则 `f` 在 `gamma` 上可积, 且
		<span class="formula">
			`int_gamma f(z) dz`
			`= int_gamma u dx - v dy + "i"int_gamma v dx + u dy`.
		</span>
		形式化记忆:
		<span class="formula">
			`f(z) dz`
			`= (u+"i"v)(dx+"i"dy)`
			`= u dx - v dy + "i"(v dx + u dy)`.
		</span>
	</li>
	<li>进一步若 `gamma` 分段光滑,
		且 `f` 在 `gamma` 上连续可微 (即, 具有连续的导数),
		则可以通过参数方程计算积分:
		<span class="formula">
			`int_gamma f(z) dz = int_a^b f(gamma(t)) gamma'(t) dt`.
		</span>
	</li>
</ol>

<ol class="proof">
	<li>记 `z_k = x_k + "i"y_k`, `zeta_k = xi_k + "i"eta_k`,
		`u(xi_k,eta_k) = u_k`, `v(xi_k,eta_k) = v_k`,
		`Delta x_k = x_k-x_(k-1)`, `Delta y_k = y_k-y_(k-1)`,
		从而
		<span class="formula">
			`sum_(k=1)^n f(zeta_k) Delta z_k`
			`= sum_(k=1)^n (u_k+"i"v_k)(Delta x_k+"i"Delta y_k)`<br/>
			`= sum_(k=1)^n (u_k Delta x_k-v_k Delta y_k)`
			`+ "i"sum_(k=1)^n(v_k Delta x_k+u_k Delta y_k)`.
		</span>
		由 `u, v` 在 `gamma` 上连续知, 上述和式当 `lambda to 0` 时趋于曲线积分
		<span class="formula">
			`int_gamma u dx - v dy + "i"int_gamma v dx + u dy`.
		</span>
	</li>
	<li>记 `gamma(t) = x(t) + "i"y(t)`, `dot x = x'(t)`, `dot y = y'(t)`.
    利用积分换元有
		<span class="formula">
			`int_gamma u dx - v dy`
			`= int_a^b (u dot x - v dot y) dt`,<br/>
			`int_gamma v dx + u dy`
			`= int_a^b (v dot x + u dot y) dt`.
		</span>
		第二式乘以 `"i"`, 再与第一式相加得
		<span class="formula">
			`int_gamma f(z) dz`
			`= int_a^b (u+"i"v)(dot x+"i"dot y) dt`
			`= int_a^b f(gamma(t)) gamma'(t) dt`.
		</span>
	</li>
</ol>

<p class="theorem">
	<b>长 (cháng) 大不等式</b>
	以 `L` 记 `gamma` 的长度, `M` 记 `|f(z)|` 在 `gamma` 的上界, 则
	<span class="formula">
		`|int_gamma f(z) dz| le L M`.
	</span>
	即积分的模可以用 "长度" `L` 和 "大小" `M` 来估计.
</p>

<p class="proof">
	<span class="formula">
		`|sum_(k=1)^n f(zeta_k) Delta z_k|`
		`le sum_(k=1)^n |f(zeta_k)| |Delta z_k|`
		`le M sum_(k=1)^n |Delta z_k|`
		`le M L`,
	</span>
	再令 `lambda to 0` 取极限, 即获证.
</p>

<ol class="example">
	设 `gamma(t)`, `t in [a, b]` 是可求长曲线, `alpha = gamma(a)`,
	`beta = gamma(b)`, 则
	<li>`int_gamma dz = beta - alpha`;</li>
	<li>`int_gamma z dz = 1/2(beta^2-alpha^2)`.</li>
</ol>

<p class="example" id="exp-circ-integral">
	设 `a in CC`, `gamma` 是以 `a` 为心, `r` 为半径的圆周, `n in ZZ`, 则
	<span class="formula">
		`oint_gamma (z-a)^n dz = { 2pi"i", if n = -1; 0, otherwise :}`
	</span>
	这个答案与半径 `r` 无关. 今后, `2pi"i"`
	这个常数将在复积分的各种公式中频繁出现.
</p>

<p class="proof">
  `gamma` 的参数方程为 `z = a + r"e"^("i"t)`, `t in [0, 2pi]`.
	原式等于
	<span class="formula">
		`int_0^(2pi) (r"e"^("i"t))^n "i" r"e"^("i"t) dt`
		`= "i" int_0^(2pi) (r"e"^("i"t))^(n+1) dt`.
	</span>
	上式当 `n = -1` 时等于 `2pi"i"`; `n != -1` 时, 利用 Euler
	公式化为三角函数在一个周期上的积分, 结果是零.
</p>

<h3>Cauchy 积分定理</h3>

<p class="definition">
	若 `f in C(D)`, 且对 `D` 中任意可求长闭曲线 `gamma` 都有 `oint_gamma
	f(z) dz = 0`, 则称 `f` 在 `D` 上的<b>积分与路径无关</b>.
  这是因为, 设 `gamma_1`, `gamma_2` 是连接 `z_0`, `z_1` 的两条可求长曲线,
  则
  <span class="formula">
    `int_(gamma_1) f(z) dz`
    `= int_(gamma_1) f(z) dz + int_(gamma_2 uu gamma_1^(-)) f(z) dz`
    `= int_(gamma_2) f(z) dz`.
  </span>
</p>

<p class="theorem">
	<b>Cauchy 积分定理 (1825)</b>
	设 `S sube CC` 是单连通域, `f in H(S) nn C^1(S)`,
	则 `f` 在 `S` 上的积分与路径无关.
</p>

<p class="proof">
	设 `gamma` 是 `S` 中的可求长闭曲线, 其围成的域记为 `G`.
	因为 `f in C^1(S)`, 可用 Green 公式;
	又 `f in H(S)`, Cauchy-Riemann 方程成立:
	<span class="formula">
		`oint_gamma u dx - v dy`
		`= -iint_G ((del u)/(del y) + (del v)/(del x)) dx dy = 0`,<br/>
		`oint_gamma v dx + u dy`
		`= iint_G ((del u)/(del x) - (del v)/(del y)) dx dy = 0`.
	</span>
	第二式乘以 `"i"`, 再加上第一式就得到 `oint_gamma f(z) dz = 0`.
</p>

<ol class="remark">
	Cauchy 积分定理的变式:
	<li>(Goursat, 1900) 原版的条件 `f in C^1(S)` 可以去掉.</li>
	<li>`S sube CC` 是单连通域, `f in H(S) nn C(bar S)`, 则 `f` 在
		`gamma = del S` 上的积分等于零.
	</li>
	<li>设 `gamma_0, gamma_1, cdots, gamma_n` 是 `n+1` 条可求长简单闭曲线,
		后 `n` 条曲线 `gamma_1, cdots, gamma_n` 都在 `gamma_0` 的内部,
		且每一条都在其它 `n-1` 条的外部. `D` 是由这 `n+1` 条曲线围成的,
		具有 `n` 个 "洞" 的多连通域, `f in H(D) nn C(bar D)`,
		则 `f` 在 `gamma_0` 上的积分等于其在 `uuu_(k=1)^n gamma_k`
		上的积分.
	</li>
</ol>

<h3>Cauchy 积分公式</h3>

<p>	Cauchy 积分公式是全纯函数的积分表示,
	由此可以证明全纯函数有任意阶导数等重要性质,
	说它是单复变函数理论中最重要, 最基本的公式也不为过.
</p>

<ol class="lemma">
  <b>连续函数的积分可用折线近似</b>
	设 `f in C(D)`, `gamma` 是 `D` 中的可求长曲线.
	对任意 `epsi gt 0`, 存在 `D` 中的折线 `P`, 满足:
	<li>`P` 的每个顶点都在 `gamma` 上, 特别, `P` 和 `gamma`
		有相同的起点和终点;</li>
	<li>`|int_gamma f(z) dz - int_P f(z) dz| lt epsi`.</li>
</ol>

<p class="theorem">
	<b>Cauchy 积分公式</b>
	设 `gamma` 是可求长简单闭曲线, `S` 是 `gamma` 围成的单连通域,
	`f in H(S) nn C(bar S)`, 则
	<span class="formula">
		`f(z) = 1/(2pi"i") oint_gamma (f(zeta))/(zeta-z) "d"zeta`,
		`quad AA z in S`.
	</span>
	注意到 `f` 在曲线 `gamma` 上的值已经完全决定了它在 `S` 内的取值.
</p>

<p class="proof">
	任取 `z in S`, 我们将积分路径从 `gamma` 转化到圆周上:
	取 `B(z, r) sube S`, 并记圆周 `gamma_r = del B(z, r)`,
  `S'` 为 `gamma` 和 `gamma_r` 围成的二连通域.
	于是, 函数 `f(zeta)/(zeta-z)` 在 `S'` 中全纯, 在 `bar S'` 上连续.
	由 Cauchy 积分定理,
	<span class="formula">
		`oint_gamma (f(zeta))/(zeta-z) "d"zeta = oint_(gamma_r)
		(f(zeta))/(zeta-z) "d"zeta`.
	</span>
	另一方面由<a class="ref" href="#exp-circ-integral"></a>,
	<span class="formula">
		`f(z) = 1/(2pi"i") oint_(gamma_r) (f(z))/(zeta-z) "d"zeta`.
	</span>
  `AA epsi gt 0`, 由 `f` 在 `z` 点连续, 存在 `delta gt 0`,
  当 `|zeta - z| lt delta` 时有 `|f(zeta)-f(z)| lt epsi`. 于是只需让 `r lt
  delta`, 有
	<span class="formula">
		`|f(z) - 1/(2pi"i") oint_gamma (f(zeta))/(zeta-z) "d"zeta|`
		`= 1/|2pi"i"| |oint_(gamma_r) (f(z)-f(zeta))/(zeta-z) "d"zeta|`
		`le 1/(2pi) * 2pi r * epsi/r = epsi`.
	</span>
	由 `epsi` 的任意性即得证.
</p>

<p class="remark">
	类似于 Cauchy 积分定理的变式 3, 可以将这一结论推广到多连通域的情形.
</p>

<p class="corollary">
  令 `f(z) -= 1`, 由 Cauchy 积分公式
  <span class="formula">
    `1/(2pi"i") oint_gamma ("d"zeta)/(zeta-z) = 1`.
  </span>
  这是<a class="ref" href="#exp-circ-integral"></a> 的自然推广. 进一步,
  若 `gamma` 不是简单曲线, 设它绕 `z` 点的圈数为 `n`, 则上式积分结果也是
  `n`, 称为 `gamma` 绕 `z` 点的<b>环绕数</b>.
</p>

<p class="lemma">
  <b>Cauchy 积分的几何级数展开</b>
  设 `eta = (z-a)/(zeta-a)`, `|eta| le r lt 1`, 则 Cauchy
  积分的分母可以展开为
  <span class="formula">
    `1/(zeta - z)`
    `= 1/((zeta - a) - (z-a))`
    `= 1/(zeta-a) 1/(1-eta)`
    `= 1/(zeta-a) sum_(k ge 0) eta^k`.
  </span>
</p>

<p class="theorem">
  <b>`n` 阶导数公式</b>
	设 `gamma` 是可求长曲线 (不一定是闭曲线), `f in C(gamma)`,
  则 <b>Cauchy 型积分</b>
	<span class="formula">
		`F(z) = 1/(2pi"i") int_gamma (f(zeta))/(zeta-z) "d"zeta`,
    `quad z in CC\\gamma`
	</span>
  可在积分号下求任意阶导数:
	<span class="formula">
		`F^((n))(z) = (n!)/(2pi"i") int_gamma (f(zeta))/(zeta-z)^(n+1)
		"d"zeta`.
	</span>
</p>

<ol class="proof">
	<li>先证明 `n = 1` 的情形.
		任取 `a in CC\\gamma`, 下证
		<span class="formula">
			`F'(a) = 1/(2pi"i") int_gamma f(zeta)/(zeta-a)^2 "d"zeta`.
		</span>
		记 `rho = d(a, gamma) = inf_(zeta in gamma) |zeta-a| gt 0`,
		对任意 `zeta in gamma`, `z in B(a, rho/2)`, 记 `eta = (z-a)/(zeta-a)`,
    有
		<span class="formula">
			`|eta| = |(z-a)/(zeta-a)| le 1/2`.
		</span>
    于是
		<span class="formula">
			`|sum_(k ge 2) eta^k|`
			`le |(z-a)/(zeta-a)|^2 sum_(k ge 0) |eta|^k`
			`le |z-a|^2/rho^2 sum_(k ge 0) 2^-k`
      `= O(|z-a|^2)`.
		</span>
    所以
		<span class="formula">
			`1/(zeta-z)`
			`= 1/(zeta-a) sum_(k ge 0) eta^k`
			`= 1/(zeta-a) (1 + (z-a)/(zeta-a) + O(|z-a|^2))`.
			<span class="label" id="for-nth-derivative-estimation"></span>
		</span>
		代入导数定义式,
		<span class="formula">
			`(F(z) - F(a))/(z-a)`
			`= 1/(2pi"i") 1/(z-a) int_gamma f(zeta)(1/(zeta-z)-1/(zeta-a)) "d"zeta`
			`= 1/(2pi"i") 1/(z-a) int_gamma f(zeta)/(zeta-a)
			((z-a)/(zeta-a) + O(|z-a|^2)) "d"zeta`,
		</span>
		于是
		<span class="formula">
			`|(F(z) - F(a))/(z-a) - 1/(2pi"i") int_gamma
			(f(zeta))/(zeta-a)^2 "d"zeta|`
			`= O(|z-a|) |1/(2pi"i")int_gamma (f(zeta))/(zeta-a) "d"zeta|`
			`= O(|z-a|) |F(a)|`.
		</span>
		上式令 `z to a` 即得结论.
	</li>
	<li>假设结论对正整数 `n-1` 已经成立, 现考虑 `n` 的情形.
		<a class="ref" href="#for-nth-derivative-estimation"></a>
		式两边取 `n` 次方得
		<span class="formula">
			`1/(zeta-z)^n = 1/(zeta-a)^n (1 + n(z-a)/(zeta-a) + O(|z-a|^2))`,
		</span>
		代入导数定义式,
		<span class="formula">
			`(F^((n-1))(z) - F^((n-1))(a))/(z-a)`
			`= ((n-1)!)/(2pi"i") 1/(z-a) int_gamma f(zeta) (1/(zeta-z)^n - 1/(zeta-a)^n) "d"zeta`
			`= ((n-1)!)/(2pi"i") 1/(z-a) int_gamma (f(zeta))/(zeta-a)^n(n(z-a)/(zeta-a) + O(|z-a|^2))"d"zeta`,
		</span>
		于是
		<span class="formula">
			`|(F^((n-1))(z)-F^((n-1))(a))/(z-a) - (n!)/(2pi"i") int_gamma (f(zeta))/(zeta-a)^(n+1) "d"zeta|`
			`= O(|z-a|) |((n-1)!)/(2pi"i") int_gamma f(zeta)/(zeta-a)^n "d"zeta|`
			`= O(|z-a|) |F^((n-1))(a)|`.
		</span>
		上式令 `z to a` 可知结论对 `n` 成立.
	</li>
</ol>

<p class="remark">
	可以用
	<span class="formula">
		`F^((s))(z) = (Gamma(s+1))/(2pi"i")
		int_gamma (f(zeta))/(zeta-z)^(s+1)
    "d"zeta`, `quad s in CC\\{-1, -2, -3, cdots}`
	</span>
	来定义一个复变函数的 `s` 阶导数, 从而将导数的阶的概念推广到复数.
</p>

<p class="corollary">
  全纯函数在定义域 `D` 内有任意阶导数, 它的各阶导数也是全纯函数.
  此外, 若把 `f` 看作两个实函数的线性组合, 则 `f in C^oo(D)`,
  可见全纯是多么强的条件!
</p>

<p class="proof">
  设 `f in H(D)`.
	对任意 `z in D`, 取充分小的邻域 `G = B(z, delta)` 使得 `bar G sube D`,
	则 `f in H(G) nn C(bar G)`. 由 Cauchy 积分公式, `f` 在 `G` 上可以写成
	Cauchy 型积分, 因此在 `G` 上有任意阶导数. 特别地, `f` 在 `z`
	处有任意阶导数.
</p>

<ol class="theorem">
	<b>Cauchy 不等式</b>
  <li>
    设 `f` 在开圆盘 `B(a, r)` 上全纯且有界, 则 `f` 在 `a`
    点的各阶导数的模有上界:
    <span class="formula">
      `|f^((n))(a)| le (n!)/r^n underset(z in B(a,r))"sup"|f(z)|`, `quad n in ZZ^+`.
    </span>
  </li>
  <li>设 `f in H(D)`, `K sube G sube D`, 其中 `G` 是开集,
    `K, bar G` 是紧集.
    则 `f` 在 `K` 上的导数模可以被 `f` 在 `K` 的邻域 `G` 上的值控制:
    <span class="formula">
      `underset(z in K)"sup" |f^((n))(z)| le (n!)/r^n underset(z in G)"sup" |f(z)|`,
    </span>
    其中 `r = d(K, del G) gt 0`.
  </li>
</ol>

<ol class="proof">
  <li>记 `M = underset(z in B(a, r))"sup"|f(z)|`,
    在以 `a` 为心, `0 lt rho lt r` 为半径的开圆盘上应用 Cauchy 积分公式,
    <span class="formula">
      `|f^((n))(a)|`
      `= |(n!)/(2pi"i") int_(gamma_rho) (f(zeta))/(zeta-a)^(n+1) "d"zeta|`
      `le (n!)/(2pi) * 2pi rho * M/rho^(n+1)`
      `= n! M/rho^n`, `quad n in ZZ^+`.
    </span>
    上式令 `rho to r` 即得结论.
  </li>
  <li>对任意 `a in K`, 在圆盘 `B(a, r) sube G` 上应用 Cauchy 不等式,
    <span class="formula">
      `|f^((n))(a)| le (n!)/r^n underset(z in B(a, r))"sup"|f(z)|`
      `le (n!)/r^n underset(z in G)"sup"|f(z)|`.
    </span>
  </li>
</ol>

<p class="theorem">
	<b>Liouville 定理</b>
	有界整函数是常数.
</p>

<p class="proof">
	设在 `CC` 上有 `|f(z)| le M`.
	以任意 `a in CC` 为心, 任意大的半径 `r` 作圆盘, 由 Cauchy 不等式都有
	<span class="formula">
		`|f'(a)| le M/r`,
	</span>
	令 `r to oo` 知 `f'(a) = 0`.
	由 `a` 的任意性知 `f` 的导数处处为零, 于是 `f` 为一常数.
</p>

<p class="theorem">
	<b>代数学基本定理</b>
	任意 `n` 次复系数多项式
	<span class="formula">
		`P(z) = a_n z^n + a_(n-1) z^(n-1) + cdots + a_1 z + a_0`,
		`quad a_n != 0`, `n ge 1`
	</span>
	在 `CC` 中必有零点.
</p>

<p class="proof">
	若 `P(z)` 在 `CC` 中无零点, 则 `1/(P(z))` 是整函数.
	而由 `lim_(z to oo) P(z) = oo` 知 `1/(P(z))` 有界.
	由 Liouville 定理, `1/(P(z))` 是常数, 矛盾.
</p>

<h3>原函数</h3>

<p class="definition">
	设 `f` 是域 `D` 上的函数, 若存在 `F in H(D)`, 使得
	<span class="formula">
		`F'(z) = f(z)`, `quad AA z in D`,
	</span>
	则称 `F` 是 `f` 的一个原函数.
</p>

<p class="theorem">
	<b>原函数的存在性</b>
	设 `f in C(D)`, 且在 `D` 上的积分与路径无关, 则任取 `z_0 in D`,
	由变上限积分确定的函数
	<span class="formula">
		`F(z) = int_(z_0)^z f(zeta) "d"zeta`
	</span>
	就是 `f` 的一个原函数.
	由 Cauchy 积分定理知道, 单连通域上的全纯函数都有原函数.
</p>

<p class="proof">
	由 `f` 在 `D` 上的积分与路径无关知 `F` 是单值函数. 任取 `a in D`, 下证
	`F'(a) = f(a)`.
	`AA epsi gt 0`, 因为 `f` 在 `a` 点连续, 存在 `delta gt 0`,
	当 `|zeta-a| lt delta` 时, 有 `|f(zeta) - f(a)| lt epsi`.
	取 `z in B(a, delta)`, 在 `a` 到 `z` 的线段上积分, 有
	<span class="formula">
		`|(F(z) - F(a))/(z-a) - f(a)|`
		`= |1/(z-a) int_a^z f(zeta) "d"zeta - 1/(z-a) int_a^z f(a) "d"zeta|`
		`= 1/|z-a| |int_a^z (f(zeta) - f(a)) "d"zeta|`
		`le epsi`.
	</span>
	于是 `F'(a) = f(a)`.
</p>

<p class="corollary">
	<b>原函数的唯一性</b>
	由<a class="ref" href="#cor-constant"></a> 立即得知, `f`
	的原函数若存在则必有无穷多个, 且不同的原函数之间相差一个常数.<br/>
	特别当 `f` 是单连通域上的全纯函数时, 有 <b>Newton-Leibniz 公式</b>
	<span class="formula">
		`int_a^b f(zeta) "d"zeta = F(b) - F(a)`,
	</span>
	其中 `F` 是 `f` 的任一原函数.
</p>

<p class="theorem">
	<b>Morera 定理</b> (Cauchy 积分定理的逆定理)
	设 `f in C(D)`, 且 `f` 在 `D` 上的积分与路径无关, 则 `f in H(D)`.
</p>

<p class="proof">
	由条件知道 `f` 在 `D` 上存在原函数 `F`. 由定义 `F in H(D)`, 于是
	`f` 作为 `F` 的导数也是全纯函数.
</p>

<script src="../../js/note.js?type=math"></script>
<script src="../../js/plot.js"></script>
<script>
const plot1 = new Plot('img-conformal-trans-1')
  .geometry({ xmin: -5, xmax: 5, ymin: -5, ymax: 5 }).axis()
for (let n = -5; n <= 5; ++n) {
  plot1.plot(() => n, t => t, { min: -5, max: 5 })
       .plot(t => t, () => n, { min: -5, max: 5, color: 'grey' })
}
const plot2 = new Plot('img-conformal-trans-2')
  .geometry({ xmin: -30, xmax: 30, ymin: -30, ymax: 30 }).axis()
for (n = -5; n <= 5; ++n) {
  plot2.plot(t => (n+t)*(n-t), t => 2*n*t, { min: -5, max: 5 })
       .plot(t => (t+n)*(t-n), t => 2*n*t, { min: -5, max: 5, color:
           'grey' })
}
</script>
</body>
</html>
